import systemConfig from '@/config/config.js';
// 页面白名单，不受拦截
const whiteList = systemConfig.whiteList

function hasPermission(url) {
	// let islogin = uni.getStorageSync(systemConfig.token );//isLogin是登录成功后在本地存储登录标识，存储一个能够判断用户登录的唯一标识就行
	let islogin = uni.getStorageSync('token')
	// 在白名单中或有登录判断条件可以直接跳转
	if (whiteList.indexOf(url) !== -1 || islogin) {
		//console.log('通过')
		return true
	}
	//console.log('失败')
	return false
}
uni.addInterceptor('navigateTo', {
	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
	invoke(e) {
		const url = e.url.split('?')[0]
		if (!hasPermission(url)) {
			uni.reLaunch({
				url: systemConfig.login_page
			})
			return false
		}
		return true
	},
	success(e) {

	}
})

uni.addInterceptor('switchTab', {
	// tabbar页面跳转前进行拦截
	invoke(e) {

		const url = e.url.split('?')[0]
		if (!hasPermission(url)) {
			uni.reLaunch({
				url: systemConfig.login_page
			})
			//console.log('不在白名单内')
			return false
		}
		//console.log('在白名单内')
		return true
	},
	success(e) {

	}
})